import com.alibaba.fastjson.JSONObject;
import com.google.common.collect.Lists;

import java.util.ArrayList;
import java.util.List;

public class BService {

    public static List<Integer> get(List<Integer> ids){
        AService aService = new AService();
        if(ids == null || ids.size() == 0 || ids.size() > 100){
            throw new IllegalArgumentException("传入的ids大于100或者为空！");
        }
        List<Integer> result = new ArrayList<>();

        // 将ids分成大小为10的子列表，然后逐个调用AService.get方法
        for (List<Integer> sublist : partition(ids, 10)) {
            result.addAll(aService.get(sublist));
        }
        return result;

    }

    /**
     * 分割集合
     * @param list 集合
     * @param chunkSize 分割大小
     * @return
     */
    private static List<List<Integer>> partition(List<Integer> list ,Integer chunkSize){
        List<List<Integer>> partitions = new ArrayList<>();
        for (int i = 0; i < list.size(); i += chunkSize) {
            Lists.partition(list,chunkSize);
            partitions.add(list.subList(i, Math.min(i + chunkSize, list.size())));
        }
        System.out.println(JSONObject.toJSONString(partitions));
        return partitions;
    }

    public static void main(String[] args) {
        ArrayList<Integer> testArray = new ArrayList<>();
        testArray.add(1);
        testArray.add(3);
        testArray.add(4);
        testArray.add(6);
        testArray.add(8);
        testArray.add(6);
        testArray.add(8);
        testArray.add(3);
        testArray.add(8);
        testArray.add(8);
        testArray.add(8);
        testArray.add(8);
        testArray.add(8);
        testArray.add(2);
        testArray.add(8);
        testArray.add(1);
        testArray.add(8);
        get(testArray);
    }
}
